#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<string.h>
#include<stdlib.h>


extern char** environ;
int main()
{
  int i;
  for(i = 0; environ[i];i++)
  {
    printf("environ[%d]-%s\n",i,environ[i]);
  }
  return 0;
}












//getenv
//int main()
//{
//  char* name = getenv("USER");
//  printf("name = %s\n",name);
//  return 0;
//}












//环境变量表
//int main(int argc,char* argv[],char* env[])
//{
//  (void) argc;
//  (void) argv;
//  int i;
//  for(i = 0; env[i];i++)
//  {
//    printf("env[%d]->%s\n",i,env[i]);
//  }
//  return 0;
//}









//命令行参数表
//int main(int argc,char* argv[])
//{
//  if(argc < 2)
//  {
//    printf("usage:%s[-a/-b/-c]\n",argv[0]);
//    return 1;
//  }
//  const char* arg = argv[1];
//  if(strcmp(arg,"-a") == 0)
//  {
//    printf("功能a\n");
//  }
//  else if(strcmp(arg,"-b") == 0)
//  {
//    printf("功能b\n");
//  }
//  else if(strcmp(arg,"-c") == 0)
//  {
//    printf("功能c\n");
//  }
//  else 
//  {
//    printf("usage:%s[-a/-b/-c]\n",argv[0]);
//  }
//  return 0;
//}
//
//
//




//命令行参数
//int main(int argc,char* argv[])
//{
//  int i;
//  for(i = 0; i < argc; i++)
//  {
//    printf("argv[%d] : %s\n",i,argv[i]);
//  }
//  return 0;
//}








//int main()
//{
//  while(1)
//  {
//    sleep(1);
//    printf("hello word,我的pid:%d\n",getpid());
//  }
//  return 0;
//}




//孤儿进程
//int main()
//{
//  int id = fork();
//  while(1)
//  {
//    if(id > 0)
//    {
//      sleep(1);
//      printf("我是父进程,我的pid是%d\n",getpid());
//      break;
//    }
//    else 
//    {
//      sleep(1);
//      printf("我是子进程,我的pid是%d\n",getpid());
//    }
//  }
//  return 0;
//}

//Z
//int main()
//{
//  int id = fork();
//  while(1)
//  {
//    if(id > 0)
//    {
//      sleep(1);
//      printf("我是父进程,我的pid是%d\n",getpid());
//    }
//    else 
//    {
//      sleep(1);
//      printf("我是子进程,我的pid是%d\n",getpid());
//      break;
//    }
//  }
//  return 0;
//}







//T
//int main()
//{
//  while(1)
//  printf("1\n");
//  return 0;
//}





//S

//int main()
//{
//  int a = 0;
//  scanf("%d",&a);
//  return 0;
//}







//R
//int main()
//{
//  while(1);
//  return 0;
//}
//int main()
//{
//  int tmp = 10;
//  int id = fork();
//  while(1)
//  {
//    if(id  < 0)
//    {
//      perror("id error\n");
//      break;
//    }
//    else if(id == 0)
//    {
//      printf("tmp + 10\n");
//      tmp += 10;
//      printf("我是子进程pid:%d,tmp=%d\n",getpid(),tmp);
//      sleep(1);
//    }
//    else 
//    {
//      printf("我是父进程pid:%d,tmp=%d\n",getpid(),tmp);
//      sleep(1);
//    }
//  }
//  return 0;
//}







//int main()
//{
//  while(1)
//  {
//    printf("我是一个进程,我的pid是:%d,父进程的pid是:%d\n",getpid(),getppid());
//    sleep(1);
//  }
//  return 0;
//}





//int main()
//{
//  chdir("/");
//  while(1)
//  {
//    printf("我是一个进程,我的pid是:%d\n",getpid());
//    sleep(1);
//  }
//  return 0;
//}

//int main()
//{
//  while(1)
//  {
//    printf("我是一个进程,我的pid是:%d\n",getpid());
//    sleep(1);
//  }
//  return 0;
//}
